import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import warnings
from warnings import filterwarnings
filterwarnings('ignore')
match_data = pd.read_csv(r'C:\DA_BA_material/matches.csv')
deliveries_data = pd.read_csv(r'C:\DA_BA_material/deliveries.csv')
match_data.head(4)
| id | season | city | date | team1 | team2 | toss_winner | toss_decision | result | dl_applied | winner | win_by_runs | win_by_wickets | player_of_match | venue | umpire1 | umpire2 | umpire3 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2017 | Hyderabad | 4/5/2017 | Sunrisers Hyderabad | Royal Challengers Bangalore | Royal Challengers Bangalore | field | normal | 0 | Sunrisers Hyderabad | 35 | 0 | Yuvraj Singh | Rajiv Gandhi International Stadium, Uppal | AY Dandekar | NJ Llong | NaN |
| 1 | 2 | 2017 | Pune | 4/6/2017 | Mumbai Indians | Rising Pune Supergiant | Rising Pune Supergiant | field | normal | 0 | Rising Pune Supergiant | 0 | 7 | SPD Smith | Maharashtra Cricket Association Stadium | A Nand Kishore | S Ravi | NaN |
| 2 | 3 | 2017 | Rajkot | 4/7/2017 | Gujarat Lions | Kolkata Knight Riders | Kolkata Knight Riders | field | normal | 0 | Kolkata Knight Riders | 0 | 10 | CA Lynn | Saurashtra Cricket Association Stadium | Nitin Menon | CK Nandan | NaN |
| 3 | 4 | 2017 | Indore | 4/8/2017 | Rising Pune Supergiant | Kings XI Punjab | Kings XI Punjab | field | normal | 0 | Kings XI Punjab | 0 | 6 | GJ Maxwell | Holkar Cricket Stadium | AK Chaudhary | C Shamshuddin | NaN |
match_data.columns
Index(['id', 'season', 'city', 'date', 'team1', 'team2', 'toss_winner',
'toss_decision', 'result', 'dl_applied', 'winner', 'win_by_runs',
'win_by_wickets', 'player_of_match', 'venue', 'umpire1', 'umpire2',
'umpire3'],
dtype='object')
match_data.shape ### total amount of matches played
(636, 18)
type(match_data.shape)
tuple
match_data.shape[0]
636
match_data['city'].unique()
array(['Hyderabad', 'Pune', 'Rajkot', 'Indore', 'Bangalore', 'Mumbai',
'Kolkata', 'Delhi', 'Chandigarh', 'Kanpur', 'Jaipur', 'Chennai',
'Cape Town', 'Port Elizabeth', 'Durban', 'Centurion',
'East London', 'Johannesburg', 'Kimberley', 'Bloemfontein',
'Ahmedabad', 'Cuttack', 'Nagpur', 'Dharamsala', 'Kochi',
'Visakhapatnam', 'Raipur', 'Ranchi', 'Abu Dhabi', 'Sharjah', nan],
dtype=object)
match_data['team1'].unique()
array(['Sunrisers Hyderabad', 'Mumbai Indians', 'Gujarat Lions',
'Rising Pune Supergiant', 'Royal Challengers Bangalore',
'Kolkata Knight Riders', 'Delhi Daredevils', 'Kings XI Punjab',
'Chennai Super Kings', 'Rajasthan Royals', 'Deccan Chargers',
'Kochi Tuskers Kerala', 'Pune Warriors', 'Rising Pune Supergiants'],
dtype=object)
match_data['toss_winner'].value_counts()
Mumbai Indians 85 Kolkata Knight Riders 78 Delhi Daredevils 72 Royal Challengers Bangalore 70 Kings XI Punjab 68 Chennai Super Kings 66 Rajasthan Royals 63 Deccan Chargers 43 Sunrisers Hyderabad 35 Pune Warriors 20 Gujarat Lions 15 Kochi Tuskers Kerala 8 Rising Pune Supergiants 7 Rising Pune Supergiant 6 Name: toss_winner, dtype: int64
match_data['toss_winner'].value_counts().index[0]
'Mumbai Indians'
match_data['player_of_match'].value_counts().index[0]
'CH Gayle'
deliveries_data['batsman'].unique()
array(['DA Warner', 'S Dhawan', 'MC Henriques', 'Yuvraj Singh',
'DJ Hooda', 'BCJ Cutting', 'CH Gayle', 'Mandeep Singh', 'TM Head',
'KM Jadhav', 'SR Watson', 'Sachin Baby', 'STR Binny', 'S Aravind',
'YS Chahal', 'TS Mills', 'A Choudhary', 'PA Patel', 'JC Buttler',
'RG Sharma', 'N Rana', 'AT Rayudu', 'KH Pandya', 'KA Pollard',
'HH Pandya', 'TG Southee', 'AM Rahane', 'MA Agarwal', 'SPD Smith',
'BA Stokes', 'MS Dhoni', 'JJ Roy', 'BB McCullum', 'SK Raina',
'AJ Finch', 'KD Karthik', 'G Gambhir', 'CA Lynn', 'MK Tiwary',
'DT Christian', 'HM Amla', 'M Vohra', 'WP Saha', 'AR Patel',
'GJ Maxwell', 'DA Miller', 'Vishnu Vinod', 'Iqbal Abdulla',
'P Negi', 'AP Tare', 'SW Billings', 'KK Nair', 'SV Samson',
'RR Pant', 'CH Morris', 'CR Brathwaite', 'PJ Cummins', 'A Mishra',
'S Nadeem', 'Z Khan', 'DR Smith', 'DS Kulkarni', 'P Kumar',
'Basil Thampi', 'RV Uthappa', 'MK Pandey', 'YK Pathan', 'SA Yadav',
'CR Woakes', 'SP Narine', 'Harbhajan Singh', 'AB de Villiers',
'CJ Anderson', 'F du Plessis', 'RA Tripathi', 'R Bhatia',
'DL Chahar', 'A Zampa', 'AB Dinda', 'Imran Tahir', 'NV Ojha',
'V Shankar', 'Rashid Khan', 'B Kumar', 'MP Stoinis', 'MM Sharma',
'VR Aaron', 'V Kohli', 'MJ McClenaghan', 'Ankit Sharma',
'SN Thakur', 'RD Chahar', 'LH Ferguson', 'C de Grandhomme',
'Bipul Sharma', 'SS Iyer', 'EJG Morgan', 'KC Cariappa',
'Sandeep Sharma', 'Ishan Kishan', 'JD Unadkat', 'AF Milne',
'S Badree', 'AD Mathews', 'Mohammed Shami', 'Mohammad Nabi',
'I Sharma', 'RA Jadeja', 'AJ Tye', 'KS Williamson', 'SE Marsh',
'Shakib Al Hasan', 'JP Faulkner', 'MG Johnson', 'K Rabada',
'AD Nath', 'NM Coulter-Nile', 'Kuldeep Yadav', 'UT Yadav',
'Washington Sundar', 'KV Sharma', 'DM Bravo', 'AR Bawne',
'SP Jackson', 'MJ Guptill', 'Anureet Singh', 'IK Pathan',
'Ankit Soni', 'JJ Bumrah', 'SL Malinga', 'PJ Sangwan', 'S Kaul',
'LMP Simmons', 'MN Samuels', 'Swapnil Singh', 'R Tewatia',
'MM Patel', 'SS Tiwary', 'TA Boult', 'CJ Jordan', 'IR Jaggi',
'PP Chawla', 'AS Rajpoot', 'SC Ganguly', 'RT Ponting', 'DJ Hussey',
'Mohammad Hafeez', 'R Dravid', 'W Jaffer', 'JH Kallis', 'CL White',
'MV Boucher', 'B Akhil', 'AA Noffke', 'SB Joshi', 'ML Hayden',
'MEK Hussey', 'JDP Oram', 'S Badrinath', 'K Goel', 'JR Hopes',
'KC Sangakkara', 'SM Katich', 'T Kohli', 'M Kaif', 'DS Lehmann',
'M Rawat', 'D Salunkhe', 'SK Warne', 'SK Trivedi', 'V Sehwag',
'L Ronchi', 'ST Jayasuriya', 'DJ Thornely', 'PR Shah', 'AM Nayar',
'SM Pollock', 'S Chanderpaul', 'LRPL Taylor', 'AC Gilchrist',
'Y Venugopal Rao', 'VVS Laxman', 'A Symonds', 'SB Styris',
'AS Yadav', 'SB Bangar', 'WPUJC Vaas', 'RP Singh', 'LR Shukla',
'DPMD Jayawardene', 'S Sohal', 'B Lee', 'WA Mota', 'Kamran Akmal',
'Shahid Afridi', 'DJ Bravo', 'MA Khote', 'A Nehra', 'GC Smith',
'Pankaj Singh', 'RR Sarwan', 'S Sreesanth', 'VRV Singh',
'R Vinay Kumar', 'AB Agarkar', 'M Kartik', 'Shoaib Malik',
'MF Maharoof', 'VY Mahesh', 'TM Srivastava', 'B Chipli',
'DW Steyn', 'DB Das', 'HH Gibbs', 'DNT Zoysa', 'D Kalyankrishna',
'SA Asnodkar', 'Sohail Tanvir', 'Salman Butt', 'BJ Hodge',
'Umar Gul', 'SP Fleming', 'S Vidyut', 'JA Morkel', 'LPC Silva',
'DB Ravi Teja', 'Misbah-ul-Haq', 'YV Takawale', 'RR Raje',
'Mohammad Asif', 'GD McGrath', 'Joginder Sharma', 'MS Gony',
'M Muralitharan', 'M Ntini', 'DT Patil', 'A Kumble', 'S Anirudha',
'CK Kapugedera', 'A Chopra', 'T Taibu', 'J Arunkumar', 'PP Ojha',
'SP Goswami', 'SR Tendulkar', 'U Kaul', 'TM Dilshan',
'AD Mascarenhas', 'Niraj Patel', 'LA Pomersbach', 'Younis Khan',
'PM Sarvesh Kumar', 'DP Vijaykumar', 'Shoaib Akhtar',
'Abdur Razzak', 'H Das', 'SD Chitnis', 'CRD Fernando',
'VS Yeligati', 'L Balaji', 'A Mukund', 'RR Powar', 'JP Duminy',
'A Flintoff', 'T Thushara', 'JD Ryder', 'KP Pietersen',
'T Henderson', 'Kamran Khan', 'RS Bopara', 'R Bishnoi',
'FH Edwards', 'PC Valthaty', 'RJ Quiney', 'AS Raut',
'Yashpal Singh', 'M Manhas', 'AA Bilakhia', 'AN Ghosh',
'BAW Mendis', 'DL Vettori', 'MN van Wyk', 'RE van der Merwe',
'TL Suman', 'Shoaib Ahmed', 'GR Napier', 'KP Appanna',
'LA Carseldine', 'SM Harwood', 'M Vijay', 'SB Jakati', 'RJ Harris',
'D du Preez', 'M Morkel', 'J Botha', 'C Nanda', 'Mashrafe Mortaza',
'A Singh', 'GJ Bailey', 'AB McDonald', 'Y Nagar', 'SS Shaikh',
'R Ashwin', 'Mohammad Ashraful', 'CA Pujara', 'OA Shah',
'Anirudh Singh', 'Jaskaran Singh', 'R Sathish', 'R McLaren',
'AA Jhunjhunwala', 'P Dogra', 'A Uniyal', 'MS Bisla', 'YA Abdulla',
'JM Kemp', 'S Tyagi', 'RS Gavaskar', 'SE Bond', 'S Ladda',
'DP Nannes', 'MJ Lumb', 'DR Martyn', 'S Narwal', 'AB Barath',
'FY Fazal', 'AC Voges', 'MD Mishra', 'J Theron', 'SJ Srivastava',
'R Sharma', 'SW Tait', 'KB Arun Karthik', 'KAJ Roach',
'PD Collingwood', 'CK Langeveldt', 'VS Malik', 'A Mithun',
'AP Dole', 'AN Ahmed', 'RS Sodhi', 'DE Bollinger', 'S Sriram',
'B Sumanth', 'C Madan', 'AG Paunikar', 'MR Marsh', 'Harmeet Singh',
'RV Gomez', 'AUK Pathan', 'UBT Chand', 'DJ Jacobs', 'Sunny Singh',
'NJ Rimmington', 'AL Menaria', 'WD Parnell', 'JJ van der Wath',
'R Ninan', 'MS Wade', 'TD Paine', 'SB Wagh', 'AC Thomas',
'JEC Franklin', 'DH Yagnik', 'S Randiv', 'BJ Haddin',
'NLTC Perera', 'NL McCullum', 'JE Taylor', 'J Syed Mohammad',
'RN ten Doeschate', 'TR Birt', 'AG Murtaza', 'Harpreet Singh',
'M Klinger', 'AC Blizzard', 'I Malhotra', 'L Ablish', 'CA Ingram',
'P Parameswaran', 'CJ Ferguson', 'AA Chavan', 'ND Doshi',
'Y Gnaneswara Rao', 'S Rana', 'BA Bhatt', 'RE Levi', 'KK Cooper',
'HV Patel', 'DAJ Bracewell', 'DJ Harris', 'GB Hogg', 'RR Bhatkal',
'CJ McKay', 'N Saini', 'Azhar Mahmood', 'RJ Peterson',
'KMDN Kulasekara', 'A Ashish Reddy', 'V Pratap Singh',
'BB Samantray', 'MJ Clarke', 'Gurkeerat Singh', 'AP Majumdar',
'PA Reddy', 'K Upadhyay', 'P Awana', 'AD Russell', 'A Chandila',
'Sunny Gupta', 'MC Juneja', 'GH Vihari', 'MDKJ Perera', 'R Shukla',
'B Laughlin', 'BMAJ Mendis', 'R Rampaul', 'SMSM Senanayake',
'BJ Rohrer', 'KL Rahul', 'Q de Kock', 'R Dhawan', 'LJ Wright',
'IC Pandey', 'CM Gautam', 'X Thalaivan Sargunam', 'DJG Sammy',
'KW Richardson', 'UA Birla', 'Parvez Rasool', 'PV Tambe',
'NJ Maddinson', 'JDS Neesham', 'MA Starc', 'BR Dunk', 'RR Rossouw',
'Shivam Sharma', 'VH Zol', 'BE Hendricks', 'S Gopal', 'M de Lange',
'JO Holder', 'Karanveer Singh', 'SA Abbott', 'J Suchith',
'RG More', 'D Wiese', 'SN Khan', 'DJ Muthuswami', 'C Munro',
'P Sahu', 'KJ Abbott', 'M Ashwin', 'NS Naik', 'PSP Handscomb',
'J Yadav', 'UT Khawaja', 'F Behardien', 'BB Sran', 'S Kaushik',
'ER Dwivedi'], dtype=object)
filt = deliveries_data['batsman']=='V Kohli'
df_kohli = deliveries_data[filt]
df_kohli.columns
Index(['match_id', 'inning', 'batting_team', 'bowling_team', 'over', 'ball',
'batsman', 'non_striker', 'bowler', 'is_super_over', 'wide_runs',
'bye_runs', 'legbye_runs', 'noball_runs', 'penalty_runs',
'batsman_runs', 'extra_runs', 'total_runs', 'player_dismissed',
'dismissal_kind', 'fielder'],
dtype='object')
df_kohli
| match_id | inning | batting_team | bowling_team | over | ball | batsman | non_striker | bowler | is_super_over | ... | bye_runs | legbye_runs | noball_runs | penalty_runs | batsman_runs | extra_runs | total_runs | player_dismissed | dismissal_kind | fielder | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2590 | 12 | 1 | Royal Challengers Bangalore | Mumbai Indians | 1 | 2 | V Kohli | CH Gayle | TG Southee | 0 | ... | 0 | 0 | 0 | 0 | 0 | 1 | 1 | NaN | NaN | NaN |
| 2591 | 12 | 1 | Royal Challengers Bangalore | Mumbai Indians | 1 | 3 | V Kohli | CH Gayle | TG Southee | 0 | ... | 0 | 0 | 0 | 0 | 1 | 0 | 1 | NaN | NaN | NaN |
| 2593 | 12 | 1 | Royal Challengers Bangalore | Mumbai Indians | 1 | 5 | V Kohli | CH Gayle | TG Southee | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | NaN | NaN | NaN |
| 2594 | 12 | 1 | Royal Challengers Bangalore | Mumbai Indians | 1 | 6 | V Kohli | CH Gayle | TG Southee | 0 | ... | 0 | 0 | 0 | 0 | 1 | 0 | 1 | NaN | NaN | NaN |
| 2597 | 12 | 1 | Royal Challengers Bangalore | Mumbai Indians | 2 | 1 | V Kohli | CH Gayle | Harbhajan Singh | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | NaN | NaN | NaN |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 150410 | 636 | 2 | Royal Challengers Bangalore | Sunrisers Hyderabad | 12 | 5 | V Kohli | AB de Villiers | Bipul Sharma | 0 | ... | 0 | 0 | 0 | 0 | 1 | 0 | 1 | NaN | NaN | NaN |
| 150413 | 636 | 2 | Royal Challengers Bangalore | Sunrisers Hyderabad | 13 | 2 | V Kohli | AB de Villiers | BB Sran | 0 | ... | 0 | 0 | 0 | 0 | 6 | 0 | 6 | NaN | NaN | NaN |
| 150414 | 636 | 2 | Royal Challengers Bangalore | Sunrisers Hyderabad | 13 | 3 | V Kohli | AB de Villiers | BB Sran | 0 | ... | 0 | 0 | 0 | 0 | 2 | 0 | 2 | NaN | NaN | NaN |
| 150415 | 636 | 2 | Royal Challengers Bangalore | Sunrisers Hyderabad | 13 | 4 | V Kohli | AB de Villiers | BB Sran | 0 | ... | 0 | 0 | 0 | 0 | 2 | 0 | 2 | NaN | NaN | NaN |
| 150416 | 636 | 2 | Royal Challengers Bangalore | Sunrisers Hyderabad | 13 | 5 | V Kohli | AB de Villiers | BB Sran | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | V Kohli | bowled | NaN |
3494 rows × 21 columns
df_kohli['dismissal_kind'].value_counts()
caught 76 bowled 24 run out 14 lbw 7 stumped 3 caught and bowled 2 Name: dismissal_kind, dtype: int64
df_kohli['batsman_runs'].unique()
array([0, 1, 6, 2, 4, 3], dtype=int64)
len(df_kohli[df_kohli['batsman_runs']==1])
1410
len(df_kohli[df_kohli['batsman_runs']==2])*2
484
len(df_kohli[df_kohli['batsman_runs']==3])*3
33
len(df_kohli[df_kohli['batsman_runs']==4])*4
1536
len(df_kohli[df_kohli['batsman_runs']==6])*6
960
import plotly.express as px
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, plot, iplot
values = [1410,484,33,1536,960]
labels = [1,2,3,4,6]
trace = go.Pie(labels= labels, values= values, hole=0.3)
data = [trace]
fig = go.Figure(data = data)
fig.show()
match_data.columns
Index(['id', 'season', 'city', 'date', 'team1', 'team2', 'toss_winner',
'toss_decision', 'result', 'dl_applied', 'winner', 'win_by_runs',
'win_by_wickets', 'player_of_match', 'venue', 'umpire1', 'umpire2',
'umpire3'],
dtype='object')
match_data['Season'] = pd.to_datetime(match_data['date']).dt.year
match_data.columns
Index(['id', 'season', 'city', 'date', 'team1', 'team2', 'toss_winner',
'toss_decision', 'result', 'dl_applied', 'winner', 'win_by_runs',
'win_by_wickets', 'player_of_match', 'venue', 'umpire1', 'umpire2',
'umpire3', 'Season'],
dtype='object')
match_data.groupby(['Season' , 'toss_decision']).size()
Season toss_decision
2008 bat 26
field 32
2009 bat 35
field 22
2010 bat 39
field 21
2011 bat 25
field 48
2012 bat 37
field 37
2013 bat 45
field 31
2014 bat 19
field 41
2015 bat 25
field 34
2016 bat 11
field 49
2017 bat 11
field 48
dtype: int64
type(match_data.groupby(['Season' , 'toss_decision']).size())
pandas.core.series.Series
season_toss_count_df = match_data.groupby(['Season' , 'toss_decision']).size().reset_index().rename(columns={0:'count'})
season_toss_count_df
| Season | toss_decision | count | |
|---|---|---|---|
| 0 | 2008 | bat | 26 |
| 1 | 2008 | field | 32 |
| 2 | 2009 | bat | 35 |
| 3 | 2009 | field | 22 |
| 4 | 2010 | bat | 39 |
| 5 | 2010 | field | 21 |
| 6 | 2011 | bat | 25 |
| 7 | 2011 | field | 48 |
| 8 | 2012 | bat | 37 |
| 9 | 2012 | field | 37 |
| 10 | 2013 | bat | 45 |
| 11 | 2013 | field | 31 |
| 12 | 2014 | bat | 19 |
| 13 | 2014 | field | 41 |
| 14 | 2015 | bat | 25 |
| 15 | 2015 | field | 34 |
| 16 | 2016 | bat | 11 |
| 17 | 2016 | field | 49 |
| 18 | 2017 | bat | 11 |
| 19 | 2017 | field | 48 |
plt.figure(figsize=(10,6))
sns.barplot(x='Season' , y='count' , hue = 'toss_decision' , data = season_toss_count_df)
<Axes: xlabel='Season', ylabel='count'>
match_data.columns
Index(['id', 'season', 'city', 'date', 'team1', 'team2', 'toss_winner',
'toss_decision', 'result', 'dl_applied', 'winner', 'win_by_runs',
'win_by_wickets', 'player_of_match', 'venue', 'umpire1', 'umpire2',
'umpire3', 'Season'],
dtype='object')
match_data[['team1' , 'team2' , 'toss_winner' , 'winner']]
| team1 | team2 | toss_winner | winner | |
|---|---|---|---|---|
| 0 | Sunrisers Hyderabad | Royal Challengers Bangalore | Royal Challengers Bangalore | Sunrisers Hyderabad |
| 1 | Mumbai Indians | Rising Pune Supergiant | Rising Pune Supergiant | Rising Pune Supergiant |
| 2 | Gujarat Lions | Kolkata Knight Riders | Kolkata Knight Riders | Kolkata Knight Riders |
| 3 | Rising Pune Supergiant | Kings XI Punjab | Kings XI Punjab | Kings XI Punjab |
| 4 | Royal Challengers Bangalore | Delhi Daredevils | Royal Challengers Bangalore | Royal Challengers Bangalore |
| ... | ... | ... | ... | ... |
| 631 | Delhi Daredevils | Royal Challengers Bangalore | Royal Challengers Bangalore | Royal Challengers Bangalore |
| 632 | Gujarat Lions | Royal Challengers Bangalore | Royal Challengers Bangalore | Royal Challengers Bangalore |
| 633 | Sunrisers Hyderabad | Kolkata Knight Riders | Kolkata Knight Riders | Sunrisers Hyderabad |
| 634 | Gujarat Lions | Sunrisers Hyderabad | Sunrisers Hyderabad | Sunrisers Hyderabad |
| 635 | Sunrisers Hyderabad | Royal Challengers Bangalore | Sunrisers Hyderabad | Sunrisers Hyderabad |
636 rows × 4 columns
match_data['toss_win_game_win'] = np.where(match_data['toss_winner']==match_data['winner'] , 'Yes' , 'No')
match_data.columns
Index(['id', 'season', 'city', 'date', 'team1', 'team2', 'toss_winner',
'toss_decision', 'result', 'dl_applied', 'winner', 'win_by_runs',
'win_by_wickets', 'player_of_match', 'venue', 'umpire1', 'umpire2',
'umpire3', 'Season', 'toss_win_game_win'],
dtype='object')
match_data['toss_win_game_win'].value_counts().index
Index(['Yes', 'No'], dtype='object')
match_data['toss_win_game_win'].value_counts().values
array([325, 311], dtype=int64)
labels = match_data['toss_win_game_win'].value_counts().index
values = match_data['toss_win_game_win'].value_counts().values
trace = go.Pie(labels= labels, values= values, hole=0.3)
data = [trace]
fig = go.Figure(data = data)
fig.update_traces(hoverinfo='label+percent' , textinfo='label+percent')
fig.show()
match_data.columns
Index(['id', 'season', 'city', 'date', 'team1', 'team2', 'toss_winner',
'toss_decision', 'result', 'dl_applied', 'winner', 'win_by_runs',
'win_by_wickets', 'player_of_match', 'venue', 'umpire1', 'umpire2',
'umpire3', 'Season', 'toss_win_game_win'],
dtype='object')
match_data['Season'].unique()
array([2017, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016],
dtype=int64)
df_2016 = match_data[match_data['Season']==2016]
df_2016
| id | season | city | date | team1 | team2 | toss_winner | toss_decision | result | dl_applied | winner | win_by_runs | win_by_wickets | player_of_match | venue | umpire1 | umpire2 | umpire3 | Season | toss_win_game_win | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 576 | 577 | 2016 | Mumbai | 4/9/2016 | Mumbai Indians | Rising Pune Supergiants | Mumbai Indians | bat | normal | 0 | Rising Pune Supergiants | 0 | 9 | AM Rahane | Wankhede Stadium | HDPK Dharmasena | CK Nandan | NaN | 2016 | No |
| 577 | 578 | 2016 | Kolkata | 4/10/2016 | Delhi Daredevils | Kolkata Knight Riders | Kolkata Knight Riders | field | normal | 0 | Kolkata Knight Riders | 0 | 9 | AD Russell | Eden Gardens | S Ravi | C Shamshuddin | NaN | 2016 | Yes |
| 578 | 579 | 2016 | Chandigarh | 4/11/2016 | Kings XI Punjab | Gujarat Lions | Gujarat Lions | field | normal | 0 | Gujarat Lions | 0 | 5 | AJ Finch | Punjab Cricket Association IS Bindra Stadium, ... | AK Chaudhary | VA Kulkarni | NaN | 2016 | Yes |
| 579 | 580 | 2016 | Bangalore | 4/12/2016 | Royal Challengers Bangalore | Sunrisers Hyderabad | Sunrisers Hyderabad | field | normal | 0 | Royal Challengers Bangalore | 45 | 0 | AB de Villiers | M Chinnaswamy Stadium | HDPK Dharmasena | VK Sharma | NaN | 2016 | No |
| 580 | 581 | 2016 | Kolkata | 4/13/2016 | Kolkata Knight Riders | Mumbai Indians | Mumbai Indians | field | normal | 0 | Mumbai Indians | 0 | 6 | RG Sharma | Eden Gardens | Nitin Menon | S Ravi | NaN | 2016 | Yes |
| 581 | 582 | 2016 | Rajkot | 4/14/2016 | Rising Pune Supergiants | Gujarat Lions | Rising Pune Supergiants | bat | normal | 0 | Gujarat Lions | 0 | 7 | AJ Finch | Saurashtra Cricket Association Stadium | VA Kulkarni | CK Nandan | NaN | 2016 | No |
| 582 | 583 | 2016 | Delhi | 4/15/2016 | Kings XI Punjab | Delhi Daredevils | Delhi Daredevils | field | normal | 0 | Delhi Daredevils | 0 | 8 | A Mishra | Feroz Shah Kotla | S Ravi | C Shamshuddin | NaN | 2016 | Yes |
| 583 | 584 | 2016 | Hyderabad | 4/16/2016 | Sunrisers Hyderabad | Kolkata Knight Riders | Sunrisers Hyderabad | bat | normal | 0 | Kolkata Knight Riders | 0 | 8 | G Gambhir | Rajiv Gandhi International Stadium, Uppal | AK Chaudhary | CK Nandan | NaN | 2016 | No |
| 584 | 585 | 2016 | Mumbai | 4/16/2016 | Mumbai Indians | Gujarat Lions | Gujarat Lions | field | normal | 0 | Gujarat Lions | 0 | 3 | AJ Finch | Wankhede Stadium | HDPK Dharmasena | VK Sharma | NaN | 2016 | Yes |
| 585 | 586 | 2016 | Chandigarh | 4/17/2016 | Rising Pune Supergiants | Kings XI Punjab | Rising Pune Supergiants | bat | normal | 0 | Kings XI Punjab | 0 | 6 | M Vohra | Punjab Cricket Association IS Bindra Stadium, ... | S Ravi | C Shamshuddin | NaN | 2016 | No |
| 586 | 587 | 2016 | Bangalore | 4/17/2016 | Royal Challengers Bangalore | Delhi Daredevils | Delhi Daredevils | field | normal | 0 | Delhi Daredevils | 0 | 7 | Q de Kock | M Chinnaswamy Stadium | VA Kulkarni | A Nand Kishore | NaN | 2016 | Yes |
| 587 | 588 | 2016 | Hyderabad | 4/18/2016 | Mumbai Indians | Sunrisers Hyderabad | Sunrisers Hyderabad | field | normal | 0 | Sunrisers Hyderabad | 0 | 7 | DA Warner | Rajiv Gandhi International Stadium, Uppal | HDPK Dharmasena | VK Sharma | NaN | 2016 | Yes |
| 588 | 589 | 2016 | Chandigarh | 4/19/2016 | Kings XI Punjab | Kolkata Knight Riders | Kolkata Knight Riders | field | normal | 0 | Kolkata Knight Riders | 0 | 6 | RV Uthappa | Punjab Cricket Association IS Bindra Stadium, ... | S Ravi | C Shamshuddin | NaN | 2016 | Yes |
| 589 | 590 | 2016 | Mumbai | 4/20/2016 | Royal Challengers Bangalore | Mumbai Indians | Mumbai Indians | field | normal | 0 | Mumbai Indians | 0 | 6 | RG Sharma | Wankhede Stadium | AK Chaudhary | CK Nandan | NaN | 2016 | Yes |
| 590 | 591 | 2016 | Rajkot | 4/21/2016 | Gujarat Lions | Sunrisers Hyderabad | Sunrisers Hyderabad | field | normal | 0 | Sunrisers Hyderabad | 0 | 10 | B Kumar | Saurashtra Cricket Association Stadium | K Bharatan | HDPK Dharmasena | NaN | 2016 | Yes |
| 591 | 592 | 2016 | Pune | 4/22/2016 | Royal Challengers Bangalore | Rising Pune Supergiants | Rising Pune Supergiants | field | normal | 0 | Royal Challengers Bangalore | 13 | 0 | AB de Villiers | Maharashtra Cricket Association Stadium | CB Gaffaney | VK Sharma | NaN | 2016 | No |
| 592 | 593 | 2016 | Delhi | 4/23/2016 | Delhi Daredevils | Mumbai Indians | Mumbai Indians | field | normal | 0 | Delhi Daredevils | 10 | 0 | SV Samson | Feroz Shah Kotla | S Ravi | C Shamshuddin | NaN | 2016 | No |
| 593 | 594 | 2016 | Hyderabad | 4/23/2016 | Kings XI Punjab | Sunrisers Hyderabad | Sunrisers Hyderabad | field | normal | 0 | Sunrisers Hyderabad | 0 | 5 | Mustafizur Rahman | Rajiv Gandhi International Stadium, Uppal | AK Chaudhary | CK Nandan | NaN | 2016 | Yes |
| 594 | 595 | 2016 | Rajkot | 4/24/2016 | Royal Challengers Bangalore | Gujarat Lions | Royal Challengers Bangalore | bat | normal | 0 | Gujarat Lions | 0 | 6 | V Kohli | Saurashtra Cricket Association Stadium | K Bharatan | BNJ Oxenford | NaN | 2016 | No |
| 595 | 596 | 2016 | Pune | 4/24/2016 | Rising Pune Supergiants | Kolkata Knight Riders | Kolkata Knight Riders | field | normal | 0 | Kolkata Knight Riders | 0 | 2 | SA Yadav | Maharashtra Cricket Association Stadium | CB Gaffaney | A Nand Kishore | NaN | 2016 | Yes |
| 596 | 597 | 2016 | Chandigarh | 4/25/2016 | Mumbai Indians | Kings XI Punjab | Kings XI Punjab | field | normal | 0 | Mumbai Indians | 25 | 0 | PA Patel | Punjab Cricket Association IS Bindra Stadium, ... | Nitin Menon | RJ Tucker | NaN | 2016 | No |
| 597 | 598 | 2016 | Hyderabad | 4/26/2016 | Sunrisers Hyderabad | Rising Pune Supergiants | Rising Pune Supergiants | field | normal | 1 | Rising Pune Supergiants | 34 | 0 | AB Dinda | Rajiv Gandhi International Stadium, Uppal | AY Dandekar | CK Nandan | NaN | 2016 | Yes |
| 598 | 599 | 2016 | Delhi | 4/27/2016 | Gujarat Lions | Delhi Daredevils | Delhi Daredevils | field | normal | 0 | Gujarat Lions | 1 | 0 | CH Morris | Feroz Shah Kotla | M Erasmus | S Ravi | NaN | 2016 | No |
| 599 | 600 | 2016 | Mumbai | 4/28/2016 | Kolkata Knight Riders | Mumbai Indians | Mumbai Indians | field | normal | 0 | Mumbai Indians | 0 | 6 | RG Sharma | Wankhede Stadium | Nitin Menon | RJ Tucker | NaN | 2016 | Yes |
| 600 | 601 | 2016 | Pune | 4/29/2016 | Rising Pune Supergiants | Gujarat Lions | Gujarat Lions | field | normal | 0 | Gujarat Lions | 0 | 3 | DR Smith | Maharashtra Cricket Association Stadium | CB Gaffaney | BNJ Oxenford | NaN | 2016 | Yes |
| 601 | 602 | 2016 | Delhi | 4/30/2016 | Delhi Daredevils | Kolkata Knight Riders | Kolkata Knight Riders | field | normal | 0 | Delhi Daredevils | 27 | 0 | CR Brathwaite | Feroz Shah Kotla | KN Ananthapadmanabhan | M Erasmus | NaN | 2016 | No |
| 602 | 603 | 2016 | Hyderabad | 4/30/2016 | Sunrisers Hyderabad | Royal Challengers Bangalore | Royal Challengers Bangalore | field | normal | 0 | Sunrisers Hyderabad | 15 | 0 | DA Warner | Rajiv Gandhi International Stadium, Uppal | AK Chaudhary | HDPK Dharmasena | NaN | 2016 | No |
| 603 | 604 | 2016 | Rajkot | 5/1/2016 | Kings XI Punjab | Gujarat Lions | Gujarat Lions | field | normal | 0 | Kings XI Punjab | 23 | 0 | AR Patel | Saurashtra Cricket Association Stadium | BNJ Oxenford | VK Sharma | NaN | 2016 | No |
| 604 | 605 | 2016 | Pune | 5/1/2016 | Rising Pune Supergiants | Mumbai Indians | Mumbai Indians | field | normal | 0 | Mumbai Indians | 0 | 8 | RG Sharma | Maharashtra Cricket Association Stadium | AY Dandekar | RJ Tucker | NaN | 2016 | Yes |
| 605 | 606 | 2016 | Bangalore | 5/2/2016 | Royal Challengers Bangalore | Kolkata Knight Riders | Kolkata Knight Riders | field | normal | 0 | Kolkata Knight Riders | 0 | 5 | AD Russell | M Chinnaswamy Stadium | M Erasmus | S Ravi | NaN | 2016 | Yes |
| 606 | 607 | 2016 | Rajkot | 5/3/2016 | Gujarat Lions | Delhi Daredevils | Delhi Daredevils | field | normal | 0 | Delhi Daredevils | 0 | 8 | RR Pant | Saurashtra Cricket Association Stadium | CB Gaffaney | BNJ Oxenford | NaN | 2016 | Yes |
| 607 | 608 | 2016 | Kolkata | 5/4/2016 | Kolkata Knight Riders | Kings XI Punjab | Kings XI Punjab | field | normal | 0 | Kolkata Knight Riders | 7 | 0 | AD Russell | Eden Gardens | AK Chaudhary | HDPK Dharmasena | NaN | 2016 | No |
| 608 | 609 | 2016 | Delhi | 5/5/2016 | Delhi Daredevils | Rising Pune Supergiants | Rising Pune Supergiants | field | normal | 0 | Rising Pune Supergiants | 0 | 7 | AM Rahane | Feroz Shah Kotla | C Shamshuddin | RJ Tucker | NaN | 2016 | Yes |
| 609 | 610 | 2016 | Hyderabad | 5/6/2016 | Gujarat Lions | Sunrisers Hyderabad | Sunrisers Hyderabad | field | normal | 0 | Sunrisers Hyderabad | 0 | 5 | B Kumar | Rajiv Gandhi International Stadium, Uppal | M Erasmus | S Ravi | NaN | 2016 | Yes |
| 610 | 611 | 2016 | Bangalore | 5/7/2016 | Rising Pune Supergiants | Royal Challengers Bangalore | Royal Challengers Bangalore | field | normal | 0 | Royal Challengers Bangalore | 0 | 7 | V Kohli | M Chinnaswamy Stadium | CB Gaffaney | BNJ Oxenford | NaN | 2016 | Yes |
| 611 | 612 | 2016 | Chandigarh | 5/7/2016 | Kings XI Punjab | Delhi Daredevils | Delhi Daredevils | field | normal | 0 | Kings XI Punjab | 9 | 0 | MP Stoinis | Punjab Cricket Association IS Bindra Stadium, ... | HDPK Dharmasena | CK Nandan | NaN | 2016 | No |
| 612 | 613 | 2016 | Visakhapatnam | 5/8/2016 | Sunrisers Hyderabad | Mumbai Indians | Mumbai Indians | field | normal | 0 | Sunrisers Hyderabad | 85 | 0 | A Nehra | Dr. Y.S. Rajasekhara Reddy ACA-VDCA Cricket St... | S Ravi | C Shamshuddin | NaN | 2016 | No |
| 613 | 614 | 2016 | Kolkata | 5/8/2016 | Kolkata Knight Riders | Gujarat Lions | Gujarat Lions | field | normal | 0 | Gujarat Lions | 0 | 5 | P Kumar | Eden Gardens | M Erasmus | RJ Tucker | NaN | 2016 | Yes |
| 614 | 615 | 2016 | Chandigarh | 5/9/2016 | Royal Challengers Bangalore | Kings XI Punjab | Kings XI Punjab | field | normal | 0 | Royal Challengers Bangalore | 1 | 0 | SR Watson | Punjab Cricket Association IS Bindra Stadium, ... | AK Chaudhary | HDPK Dharmasena | NaN | 2016 | No |
| 615 | 616 | 2016 | Visakhapatnam | 5/10/2016 | Sunrisers Hyderabad | Rising Pune Supergiants | Sunrisers Hyderabad | bat | normal | 0 | Sunrisers Hyderabad | 4 | 0 | A Zampa | Dr. Y.S. Rajasekhara Reddy ACA-VDCA Cricket St... | CB Gaffaney | VK Sharma | NaN | 2016 | Yes |
| 616 | 617 | 2016 | Bangalore | 5/11/2016 | Royal Challengers Bangalore | Mumbai Indians | Mumbai Indians | field | normal | 0 | Mumbai Indians | 0 | 6 | KH Pandya | M Chinnaswamy Stadium | AY Dandekar | C Shamshuddin | NaN | 2016 | Yes |
| 617 | 618 | 2016 | Hyderabad | 5/12/2016 | Sunrisers Hyderabad | Delhi Daredevils | Delhi Daredevils | field | normal | 0 | Delhi Daredevils | 0 | 7 | CH Morris | Rajiv Gandhi International Stadium, Uppal | K Bharatan | M Erasmus | NaN | 2016 | Yes |
| 618 | 619 | 2016 | Visakhapatnam | 5/13/2016 | Mumbai Indians | Kings XI Punjab | Mumbai Indians | bat | normal | 0 | Kings XI Punjab | 0 | 7 | MP Stoinis | Dr. Y.S. Rajasekhara Reddy ACA-VDCA Cricket St... | HDPK Dharmasena | CK Nandan | NaN | 2016 | No |
| 619 | 620 | 2016 | Bangalore | 5/14/2016 | Royal Challengers Bangalore | Gujarat Lions | Gujarat Lions | field | normal | 0 | Royal Challengers Bangalore | 144 | 0 | AB de Villiers | M Chinnaswamy Stadium | AY Dandekar | VK Sharma | NaN | 2016 | No |
| 620 | 621 | 2016 | Kolkata | 5/14/2016 | Rising Pune Supergiants | Kolkata Knight Riders | Rising Pune Supergiants | bat | normal | 1 | Kolkata Knight Riders | 0 | 8 | YK Pathan | Eden Gardens | A Nand Kishore | BNJ Oxenford | NaN | 2016 | No |
| 621 | 622 | 2016 | Chandigarh | 5/15/2016 | Kings XI Punjab | Sunrisers Hyderabad | Kings XI Punjab | bat | normal | 0 | Sunrisers Hyderabad | 0 | 7 | HM Amla | Punjab Cricket Association IS Bindra Stadium, ... | KN Ananthapadmanabhan | M Erasmus | NaN | 2016 | No |
| 622 | 623 | 2016 | Visakhapatnam | 5/15/2016 | Mumbai Indians | Delhi Daredevils | Delhi Daredevils | field | normal | 0 | Mumbai Indians | 80 | 0 | KH Pandya | Dr. Y.S. Rajasekhara Reddy ACA-VDCA Cricket St... | Nitin Menon | CK Nandan | NaN | 2016 | No |
| 623 | 624 | 2016 | Kolkata | 5/16/2016 | Kolkata Knight Riders | Royal Challengers Bangalore | Royal Challengers Bangalore | field | normal | 0 | Royal Challengers Bangalore | 0 | 9 | V Kohli | Eden Gardens | CB Gaffaney | A Nand Kishore | NaN | 2016 | Yes |
| 624 | 625 | 2016 | Visakhapatnam | 5/17/2016 | Delhi Daredevils | Rising Pune Supergiants | Rising Pune Supergiants | field | normal | 1 | Rising Pune Supergiants | 19 | 0 | AB Dinda | Dr. Y.S. Rajasekhara Reddy ACA-VDCA Cricket St... | Nitin Menon | C Shamshuddin | NaN | 2016 | Yes |
| 625 | 626 | 2016 | Bangalore | 5/18/2016 | Royal Challengers Bangalore | Kings XI Punjab | Kings XI Punjab | field | normal | 1 | Royal Challengers Bangalore | 82 | 0 | V Kohli | M Chinnaswamy Stadium | KN Ananthapadmanabhan | M Erasmus | NaN | 2016 | No |
| 626 | 627 | 2016 | Kanpur | 5/19/2016 | Kolkata Knight Riders | Gujarat Lions | Gujarat Lions | field | normal | 0 | Gujarat Lions | 0 | 6 | DR Smith | Green Park | AK Chaudhary | CK Nandan | NaN | 2016 | Yes |
| 627 | 628 | 2016 | Raipur | 5/20/2016 | Sunrisers Hyderabad | Delhi Daredevils | Delhi Daredevils | field | normal | 0 | Delhi Daredevils | 0 | 6 | KK Nair | Shaheed Veer Narayan Singh International Stadium | A Nand Kishore | BNJ Oxenford | NaN | 2016 | Yes |
| 628 | 629 | 2016 | Visakhapatnam | 5/21/2016 | Kings XI Punjab | Rising Pune Supergiants | Kings XI Punjab | bat | normal | 0 | Rising Pune Supergiants | 0 | 4 | MS Dhoni | Dr. Y.S. Rajasekhara Reddy ACA-VDCA Cricket St... | HDPK Dharmasena | Nitin Menon | NaN | 2016 | No |
| 629 | 630 | 2016 | Kanpur | 5/21/2016 | Mumbai Indians | Gujarat Lions | Gujarat Lions | field | normal | 0 | Gujarat Lions | 0 | 6 | SK Raina | Green Park | AK Chaudhary | CK Nandan | NaN | 2016 | Yes |
| 630 | 631 | 2016 | Kolkata | 5/22/2016 | Kolkata Knight Riders | Sunrisers Hyderabad | Sunrisers Hyderabad | field | normal | 0 | Kolkata Knight Riders | 22 | 0 | YK Pathan | Eden Gardens | KN Ananthapadmanabhan | M Erasmus | NaN | 2016 | No |
| 631 | 632 | 2016 | Raipur | 5/22/2016 | Delhi Daredevils | Royal Challengers Bangalore | Royal Challengers Bangalore | field | normal | 0 | Royal Challengers Bangalore | 0 | 6 | V Kohli | Shaheed Veer Narayan Singh International Stadium | A Nand Kishore | BNJ Oxenford | NaN | 2016 | Yes |
| 632 | 633 | 2016 | Bangalore | 5/24/2016 | Gujarat Lions | Royal Challengers Bangalore | Royal Challengers Bangalore | field | normal | 0 | Royal Challengers Bangalore | 0 | 4 | AB de Villiers | M Chinnaswamy Stadium | AK Chaudhary | HDPK Dharmasena | NaN | 2016 | Yes |
| 633 | 634 | 2016 | Delhi | 5/25/2016 | Sunrisers Hyderabad | Kolkata Knight Riders | Kolkata Knight Riders | field | normal | 0 | Sunrisers Hyderabad | 22 | 0 | MC Henriques | Feroz Shah Kotla | M Erasmus | C Shamshuddin | NaN | 2016 | No |
| 634 | 635 | 2016 | Delhi | 5/27/2016 | Gujarat Lions | Sunrisers Hyderabad | Sunrisers Hyderabad | field | normal | 0 | Sunrisers Hyderabad | 0 | 4 | DA Warner | Feroz Shah Kotla | M Erasmus | CK Nandan | NaN | 2016 | Yes |
| 635 | 636 | 2016 | Bangalore | 5/29/2016 | Sunrisers Hyderabad | Royal Challengers Bangalore | Sunrisers Hyderabad | bat | normal | 0 | Sunrisers Hyderabad | 8 | 0 | BCJ Cutting | M Chinnaswamy Stadium | HDPK Dharmasena | BNJ Oxenford | NaN | 2016 | Yes |
df_2016.tail()
| id | season | city | date | team1 | team2 | toss_winner | toss_decision | result | dl_applied | winner | win_by_runs | win_by_wickets | player_of_match | venue | umpire1 | umpire2 | umpire3 | Season | toss_win_game_win | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 631 | 632 | 2016 | Raipur | 5/22/2016 | Delhi Daredevils | Royal Challengers Bangalore | Royal Challengers Bangalore | field | normal | 0 | Royal Challengers Bangalore | 0 | 6 | V Kohli | Shaheed Veer Narayan Singh International Stadium | A Nand Kishore | BNJ Oxenford | NaN | 2016 | Yes |
| 632 | 633 | 2016 | Bangalore | 5/24/2016 | Gujarat Lions | Royal Challengers Bangalore | Royal Challengers Bangalore | field | normal | 0 | Royal Challengers Bangalore | 0 | 4 | AB de Villiers | M Chinnaswamy Stadium | AK Chaudhary | HDPK Dharmasena | NaN | 2016 | Yes |
| 633 | 634 | 2016 | Delhi | 5/25/2016 | Sunrisers Hyderabad | Kolkata Knight Riders | Kolkata Knight Riders | field | normal | 0 | Sunrisers Hyderabad | 22 | 0 | MC Henriques | Feroz Shah Kotla | M Erasmus | C Shamshuddin | NaN | 2016 | No |
| 634 | 635 | 2016 | Delhi | 5/27/2016 | Gujarat Lions | Sunrisers Hyderabad | Sunrisers Hyderabad | field | normal | 0 | Sunrisers Hyderabad | 0 | 4 | DA Warner | Feroz Shah Kotla | M Erasmus | CK Nandan | NaN | 2016 | Yes |
| 635 | 636 | 2016 | Bangalore | 5/29/2016 | Sunrisers Hyderabad | Royal Challengers Bangalore | Sunrisers Hyderabad | bat | normal | 0 | Sunrisers Hyderabad | 8 | 0 | BCJ Cutting | M Chinnaswamy Stadium | HDPK Dharmasena | BNJ Oxenford | NaN | 2016 | Yes |
df_2016['winner'].tail(1).values[0]
'Sunrisers Hyderabad'
winners_team={}
for year in sorted(match_data['Season'].unique()):
current_yr_df = match_data[match_data['Season']==year]
winners_team[year] = current_yr_df['winner'].tail(1).values[0]
winners_team
{2008: 'Rajasthan Royals',
2009: 'Deccan Chargers',
2010: 'Chennai Super Kings',
2011: 'Chennai Super Kings',
2012: 'Kolkata Knight Riders',
2013: 'Mumbai Indians',
2014: 'Kolkata Knight Riders',
2015: 'Mumbai Indians',
2016: 'Sunrisers Hyderabad',
2017: 'Mumbai Indians'}
winners_team.values()
dict_values(['Rajasthan Royals', 'Deccan Chargers', 'Chennai Super Kings', 'Chennai Super Kings', 'Kolkata Knight Riders', 'Mumbai Indians', 'Kolkata Knight Riders', 'Mumbai Indians', 'Sunrisers Hyderabad', 'Mumbai Indians'])
from collections import Counter
Counter(winners_team.values())
Counter({'Rajasthan Royals': 1,
'Deccan Chargers': 1,
'Chennai Super Kings': 2,
'Kolkata Knight Riders': 2,
'Mumbai Indians': 3,
'Sunrisers Hyderabad': 1})
match_data.columns
Index(['id', 'season', 'city', 'date', 'team1', 'team2', 'toss_winner',
'toss_decision', 'result', 'dl_applied', 'winner', 'win_by_runs',
'win_by_wickets', 'player_of_match', 'venue', 'umpire1', 'umpire2',
'umpire3', 'Season', 'toss_win_game_win'],
dtype='object')
match_data[['team1' , 'team2']]
| team1 | team2 | |
|---|---|---|
| 0 | Sunrisers Hyderabad | Royal Challengers Bangalore |
| 1 | Mumbai Indians | Rising Pune Supergiant |
| 2 | Gujarat Lions | Kolkata Knight Riders |
| 3 | Rising Pune Supergiant | Kings XI Punjab |
| 4 | Royal Challengers Bangalore | Delhi Daredevils |
| ... | ... | ... |
| 631 | Delhi Daredevils | Royal Challengers Bangalore |
| 632 | Gujarat Lions | Royal Challengers Bangalore |
| 633 | Sunrisers Hyderabad | Kolkata Knight Riders |
| 634 | Gujarat Lions | Sunrisers Hyderabad |
| 635 | Sunrisers Hyderabad | Royal Challengers Bangalore |
636 rows × 2 columns
matches_played = match_data['team1'].value_counts() + match_data['team2'].value_counts()
type(matches_played)
pandas.core.series.Series
matches_played_df = matches_played.to_frame().reset_index()
matches_played_df.columns = ['team_name' , 'Matches_played']
matches_played_df
| team_name | Matches_played | |
|---|---|---|
| 0 | Chennai Super Kings | 131 |
| 1 | Deccan Chargers | 75 |
| 2 | Delhi Daredevils | 147 |
| 3 | Gujarat Lions | 30 |
| 4 | Kings XI Punjab | 148 |
| 5 | Kochi Tuskers Kerala | 14 |
| 6 | Kolkata Knight Riders | 148 |
| 7 | Mumbai Indians | 157 |
| 8 | Pune Warriors | 46 |
| 9 | Rajasthan Royals | 118 |
| 10 | Rising Pune Supergiant | 16 |
| 11 | Rising Pune Supergiants | 14 |
| 12 | Royal Challengers Bangalore | 152 |
| 13 | Sunrisers Hyderabad | 76 |
wins = pd.DataFrame(match_data['winner'].value_counts()).reset_index()
wins.columns = ['team_name' , 'Wins']
wins
| team_name | Wins | |
|---|---|---|
| 0 | Mumbai Indians | 92 |
| 1 | Chennai Super Kings | 79 |
| 2 | Kolkata Knight Riders | 77 |
| 3 | Royal Challengers Bangalore | 73 |
| 4 | Kings XI Punjab | 70 |
| 5 | Rajasthan Royals | 63 |
| 6 | Delhi Daredevils | 62 |
| 7 | Sunrisers Hyderabad | 42 |
| 8 | Deccan Chargers | 29 |
| 9 | Gujarat Lions | 13 |
| 10 | Pune Warriors | 12 |
| 11 | Rising Pune Supergiant | 10 |
| 12 | Kochi Tuskers Kerala | 6 |
| 13 | Rising Pune Supergiants | 5 |
played = matches_played_df.merge(wins, on='team_name' , how='inner')
played
| team_name | Matches_played | Wins | |
|---|---|---|---|
| 0 | Chennai Super Kings | 131 | 79 |
| 1 | Deccan Chargers | 75 | 29 |
| 2 | Delhi Daredevils | 147 | 62 |
| 3 | Gujarat Lions | 30 | 13 |
| 4 | Kings XI Punjab | 148 | 70 |
| 5 | Kochi Tuskers Kerala | 14 | 6 |
| 6 | Kolkata Knight Riders | 148 | 77 |
| 7 | Mumbai Indians | 157 | 92 |
| 8 | Pune Warriors | 46 | 12 |
| 9 | Rajasthan Royals | 118 | 63 |
| 10 | Rising Pune Supergiant | 16 | 10 |
| 11 | Rising Pune Supergiants | 14 | 5 |
| 12 | Royal Challengers Bangalore | 152 | 73 |
| 13 | Sunrisers Hyderabad | 76 | 42 |
trace1 = go.Bar(
x = played['team_name'] ,
y = played['Matches_played'] ,
name = 'Total Matches'
)
trace2 = go.Bar(
x = played['team_name'] ,
y = played['Wins'] ,
name = 'Matches won'
)
data = [trace1 , trace2]
iplot(data)